1. Field of the Invention
The present invention relates to a communication device that transmits and receives data by use of a logical link.
2. Description of the Related Art
SCTP (Stream Control Transmission Protocol) is a transmission protocol for transporting a signaling message utilized in a public switched telephone network (which will hereinafter be abbreviated to PSTN) over an IP (Internet Protocol) network, and is defined in RFC2960 of IETF (Internet Engineering Task Force).
Further, SCTP is a transport layer protocol that supports multi-homing and enables highly reliable data transmission over the IP layer, and is designed so as to be capable of dealing with DOS attacks (Denial of Service Attacks) etc. occurred when setting an association. SCTP is capable of securely transmitting the signals from PSTN even over the IP network having low reliability. The following are basic features of SCTP. Note that terminals (e.g., a server and a client or the like) performing SCTP-based communications are referred to as endpoints in the following discussion.
(1) SCTP is a unicast protocol. Further, SCTP supports the multi-homing and is therefore capable of data switching between the endpoints each having a plurality of IP addresses.
(2) SCTP transmits the data in a way that eliminates damaged data etc. and enables the highly reliable transmission by retransmitting these pieces of fault data as the necessity arises.
(3) SCTP handles full-duplex transmission.
(4) SCTP is message-oriented and supports framing at a message boundary. On the other hand, TCP (Transmission Control Protocol) is byte-oriented and is not protected with respect to an implicit structure within a byte stream to be transmitted.
(5) SCTP has the similar congestion control algorithm as TCP has.
FIG. 16 shows an example of a protocol stack that supports SCTP. As shown in FIG. 16, SCTP employs IP as a network protocol. Then, SCTP is utilized as a transport protocol by M3UA (MTP3 User Adaptation) etc. defined as an adaptation module for adapting the PSTN protocol to the IP network.
As described above, SCTP has the multi-homing function. FIG. 17 shows an image of the multi-homing and SCTP associations. In SCTP, a logical connection between the endpoints is termed an Association. Approximately, four billion and three hundred million (232−1) associations can be set between the endpoints, wherein every association is identified by use of tags (TAG).
According to the multi-homing supported by SCTP, the endpoint is assigned a plurality of IP addresses, whereby a communication path between the endpoints can be multiplexed. In the example in FIG. 17, a single association is established between an endpoint A and an endpoint Z. Then, the endpoint A is assigned three pieces of IP addresses (which are IP addresses A, B and C shown in FIG. 17), and the endpoint Z is assigned two pieces of IP addresses (which are IP addresses X and Y shown in FIG. 17), thereby multiplexing the path in the association. With this multiplexing, according to SCTP, even if a primary path becomes unavailable for communications, the communications can continue through other preset communication paths. It is therefore possible to enhance the reliability of the data transmission.
The following is an explanation of an SCTP abnormality detecting operation if abnormality occurs in the association. To begin with, the abnormality detecting operation in a case where the abnormality occurs in the association that does not use the multi-homing, will be described with reference to FIGS. 18 and 19. FIG. 18 is a diagram showing how the multi-homing-unused SCTP association is established. In this example, two lines of multi-homing-unused associations (associations 1 and 2 shown in FIG. 18) are established between the endpoint A and the endpoint Z. Routers (routers 221 and 222 shown in FIG. 18) can be interposed in the paths within the respective associations.
FIG. 19 shows how the communication abnormality occurs in the association 1 in a connecting environment shown in FIG. 17. If the abnormality occurs in the association 1 when a message is transmitted to the endpoint Z from the endpoint A, the endpoint A detects that the transmitted message does not yet reach. From this detection, the abnormality in the association 1 is detected. The endpoint A detects unreachableness of the message when an SCTP-based retransmission timer expires.
Next, a case in which the abnormality occurs in the association that uses the multi-homing, will be explained with reference to FIGS. 20 and 21. FIG. 20 illustrates how the SCTP association using the multi-homing is established. In this example, two lines of SCTP associations (the associations 1 and 2 shown in FIG. 20) each using the multi-homing are established between the endpoint A and the endpoint Z. Further, each of the associations 1 and 2 uses the multi-homing, wherein two paths are extended within each of the associations (the association 1 contains the paths A and B, and the association 2 contains the paths C and D). Note that when the plurality of paths are extended within the association, one of those paths is determined as a primary path (the primary paths shown in FIG. 20 are the paths A and C).
FIG. 21 shows how the abnormality occurs in the path A within the association 1 in the connecting environment shown in FIG. 20. If the abnormality occurs in the path A of the association 1 when the message is transmitted to the endpoint Z from the endpoint A, the endpoint A detects that the transmitted message does not yet reach. From this detection, the abnormality in the path A of the association 1 is detected. The endpoint A detects the unreachableness of the message when the SCTP retransmission timer expires.
Namely, if the abnormality occurs within the association, the unreachableness of the message is detected after the endpoint on the transmitting side has effected the retransmission a specified number of times irrespective of whether the multi-homing is used or unused, thereby detecting the communication abnormality in the association. FIG. 22 is a diagram showing an operating sequence of each endpoint when the communication abnormality occurs.
In the case that the data are sent from the endpoint A via a router to the endpoint Z, when the data normally reach the endpoint Z, an S-ACK chunk is sent back from the endpoint Z. The “chunk” is a format unit of a SCTP message stream. If the communication abnormality occurs, however, the S-ACK chunk is not sent back from the endpoint Z, therefore, the endpoint A is unable to acquire acknowledgement that the transmission data reach. Such being the case, the endpoint A retransmits the transmission data a specified number of times. During the retransmission of the transmission data, the endpoint A monitors a specified retransmission timer (T3-rtx timer shown in FIG. 22), and detects the abnormality in the path employed for transmitting the data from the expiration of the retransmission timer. The endpoint A, which has detected the abnormality, notifies the endpoint Z of this communication abnormality by using other association or path.
Note that documents of the conventional art related to the present invention of the application are those disclosed as follows. The conventional art documents are “TOKUKAI 2001-186171”, “TOKUKAIHEI 06-14056”, “TOKUKAIHEI 06-53982”, and “R. Stewart, Q. Xie, et al., “Stream Control Transmission Protocol”, Request for Comments: 2960”.
In the abnormality detection method according to this conventional art, however, it takes a long period of time till the endpoint detects a fault in the association or a fault in the path within the association. This is because the abnormality is not detected till a retransmission process (which involves the retransmission and the expiration of the retransmission timer in the endpoint A shown in FIG. 22) specified in the endpoint is completed. This being the case, a real-time application using SCTP in the conventional art expends much time for abnormality detection control in the case where the communication abnormality occurs, and there is a possibility that a service can not be provided exactly. Further, a great number of retrying operations based on the application are brought about at an abnormal time, resulting in a possibility of causing a decrease in traffic efficiency of the network as a whole.